package com.yssoft.utils;

import org.springframework.core.convert.converter.Converter;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @author 陈翼东
 * @time 2018/4/25 下午 02:59
 * @说明 时间转换工具类
 */
public class CustomDate implements Converter<String, Date> {
    @Override
    public Date convert(String source) {
        try {
            if(source!=null && source.length()>0) {
                // 支持多种日期格式
                String[] patterns = {
                    "yyyy-MM-dd HH:mm:ss",  // 完整日期时间格式
                    "yyyy-MM-dd HH:mm",     // 日期时间格式（无秒）
                    "yyyy-MM-dd"            // 仅日期格式
                };
                
                for (String pattern : patterns) {
                    try {
                        SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
                        dateFormat.setLenient(false);
                        return dateFormat.parse(source);
                    } catch (ParseException e) {
                        // 继续尝试下一个格式
                        continue;
                    }
                }
            }else{
                return null;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    
}
